home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
program
/
mkdpnd11.lha
/
MkDepend-1.1
/
nodes.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-10-13
|
2KB
|
57 lines
/*
$VER: nodes:h 1.0 (10-Sep-95) Copyright © by Lars Düning
*/
#ifndef __NODES_H__
#define __NODES_H__ 1
struct noderef; /* forward */
/* Node structure to build the dependency tree
*/
typedef struct node
{
struct node * pLeft, * pRight; /* Tree pointers */
struct node * pNext; /* List of Files to do; stack for traversals */
char * pName; /* Name associated with the node */
int iInclude; /* Index of the include path the file is in */
short flags; /* misc flags */
struct noderef * pDeps; /* Dependencees of this file */
short iStage; /* Stage counter for tree traversals */
}
Node;
/* Node.flags
*/
#define NODE_MARK (1<<0) /* Generic Node marker */
#define NODE_NEW (1<<1) /* Node is unused */
#define NODE_SOURCE (1<<2) /* Node is a skeleton source */
#define NODE_AVOID (1<<3) /* Node is not part of the skeleton sources */
#define NODE_DONE (1<<4) /* Node has been evaluated */
/* Node marking
*/
#define NODES_MARK(node) (node->flags |= NODE_MARK)
#define NODES_UNMARK(node) (node->flags &= (short)(~NODE_MARK))
#define NODES_MARKED(node) (node->flags & NODE_MARK)
/* Reference structure to treenodes
*/
typedef struct noderef
{
struct noderef * pNext; /* next NodeRef */
Node * pNode; /* referenced Node */
}
NodeRef;
/* Prototypes */
extern int nodes_addsource (const char *, int);
extern int nodes_depend (Node *, const char *);
extern Node * nodes_todo (void);
extern void nodes_initwalk (void);
extern Node * nodes_inorder (void);
extern NodeRef * nodes_deplist (Node *);
extern void nodes_freelist (NodeRef *);
#endif